package util
{
	import flash.display.DisplayObject;
	
	import mx.core.FlexGlobals;

	/**
	 *屏幕工具类 
	 * @author SXT
	 * 
	 */
	public class ScreenUtil
	{
		/**
		 *是否到达左边界 
		 * @param dis
		 * @return 
		 */
		public static function isOutRight(dis:DisplayObject):Boolean{
			if(dis.x > FlexGlobals.topLevelApplication.stage.stageWidth){
				return true;
			}
			return false;
		}
		
		/**
		 * 是否到达下边界 
		 * @param dis
		 * @return 
		 */
		public static function isOutBottom(dis:DisplayObject):Boolean{
			if(dis.y > FlexGlobals.topLevelApplication.stage.stageHeight){
				return true;
			}
			return false;
		}
		
		/**
		 *对象是否到达屏幕边界 
		 * @param dis
		 * @return 
		 */
		public static function isOutScreen(dis:DisplayObject):Boolean{
			if(isOutRight(dis) || isOutBottom(dis)){
				return true;
			}
			return false;
		}
		
		/**
		 * 得到两个点之间的Number距离
		 * @return
		 */
		public static function getDistance(x2:int, y2:int, x1:int, y1:int):Number
		{
			return Math.sqrt(((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2)));
		}
		/**
		 *两个显示对象间的距离 
		 * @param dis1
		 * @param dis2
		 * @return 
		 */		
		public static function getDisByDis(dis1:DisplayObject,dis2:DisplayObject):int{
			return getDistance(dis1.x,dis1.y,dis2.x,dis2.y);
		}
		
		public static function getRotation(dx:int,dy:int):Number{
			return Math.atan2(dy, dx) * 180 / Math.PI;
		}
	}
}